# -*- coding: utf-8 -*-
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
import re
from dl_league_rule.items import DlLeagueRuleItem


class RuleSpider(CrawlSpider):
    name = 'rule'
    allowed_domains = ['500.com']
    start_urls = ['http://liansai.500.com/']
    rules = (
        Rule(LinkExtractor(allow=r'zuqiu-\d+/'), callback='parse_item'),
        # Rule(LinkExtractor(allow=r'zuqiu-\d+/jifen-\d+/'), callback='parse_item'),
    )

    def parse_item(self, response):
        season_id = re.search('zuqiu-(\d+)/',response.url).group(1)
        url = re.search('/zuqiu-{}/jifen-\d+/'.format(season_id),response.body.decode('gbk')).group()
        url = "http://liansai.500.com" + url
        league_addr = response.xpath('//li[@class="on"]/a/text()').extract_first().replace('首页', '')
        yield scrapy.Request(url=url,meta={'league_addr':league_addr},callback=self.parse_it)
    def parse_it(self,response):
        item = DlLeagueRuleItem()
        item['league_addr'] = response.meta['league_addr']
        #杯赛
        bs = ['英足总杯', '英联杯', '社区盾', '英挑杯', '英锦赛', '西班牙杯', '西超杯', '伯纳乌杯', '甘伯杯', '西联杯', '意超杯', '意杯', '意TIM杯', '意丙杯', '维亚杯', '德国杯', '德超杯', '德电信杯', '德女杯', '德青杯', '法超杯', '法国杯', '法联杯', '阿塞杯', '奥地利杯', '阿巴超杯', '爱超杯', '爱足总杯', '爱联杯', '白俄杯', '白超杯', '北联杯', '北爱杯', '冰岛杯', '冰联杯', '冰超杯', '冰岛锦', '波黑杯', '保杯', '保超杯', '波兰杯', '波超杯', '比超杯', '比杯', '丹麦杯', '俄杯', '俄超杯', '芬兰杯', '芬联杯', '荷超杯', '荷杯', '捷克杯', '捷联杯', '克杯', '罗杯', '罗超杯', '罗联杯', '挪威杯', '挪超杯', '葡超杯', '葡杯', '葡联杯', '瑞士杯', '瑞典杯', '塞浦杯', '塞超杯', '斯伐杯', '塞尔杯', '苏联赛杯', '苏足总杯', '苏挑杯', '土杯', '土超杯', '乌克杯', '乌超杯', '匈牙利杯', '匈超杯', '希腊杯', '亚美杯', '以杯', '以超图杯', '阿夏赛', '阿根廷杯', '阿超杯', '巴西杯', '巴东北杯', '巴超联杯', '秘印加杯', '哥伦杯', '哥超杯', '加拿冠', '墨西杯', '墨超杯', '墨冠杯', '公开赛', '智利杯', '智超杯', '阿联超杯', '阿联杯', '阿联酋杯', '澳足杯', '澳威杯', '澳维杯', '阿曼杯', '阿曼苏杯', '巴林王杯', '巴林杯', '韩足杯', '韩锦赛', '卡王子杯', '卡王储杯', '贾西姆杯', '科王子杯', '科元首杯', '黎巴杯', '马来足总', '马来杯', '日超杯', '日联杯', '天皇杯', '日皇后杯', '沙王杯', '沙超杯', '沙王冠', '泰 王 杯', '泰足总', '泰联杯', '乌兹杯', '新加坡杯', '新联杯', '约盾杯', '约旦杯', '印尼杯', '越南杯', '印联杯', '伊朗杯', '中协杯', '中超杯', '中国杯', '港足总杯', '高级银牌', '港联杯', '奥男足', '女世杯', '友谊赛', '世界杯', '土伦杯', '世青赛', '世俱杯', '球会友谊', '世女冠', '奥女足', '联合会杯', '加夫杯', '奥迪杯', '吉尼斯杯', '英亚杯', '女世外欧', '伊朗超杯', '曼德拉杯']
        #联赛
        ls = ['英冠', '英乙', '英甲', '英超', '英非联', '英非北', '英非南', '英南超', '英北超', '英依超', '英乙U23', '西乙', '西甲', '西丙1', '西女超', '西丙2', '西丙3', '西丙4', '西丙附', '意乙', '意甲', '意丙1A', '意丙1B', '意丙1C', '意丙附', '意青联', '德乙', '德甲', '德南联', '德北联', '德女联', '德丙联', '德西联', '德巴联', '德东北', '德青西', '德青南', '德青北', '法丙', '法乙', '法甲', '阿塞联', '奥甲', '奥乙', '阿巴超', '爱沙尼甲', '爱甲', '爱超', '安道尔联', '白俄超', '北爱超', '冰甲', '冰岛超', '波黑超', '保超', '波甲', '波乙', '比甲', '比乙', '丹超', '丹甲', '丹乙A', '俄超', '俄甲', '俄青联', '芬超', '芬甲', '法罗联', '格超', '格鲁甲', '黑山甲', '荷甲', '荷乙', '荷女甲', '哈萨超', '捷甲', '捷克乙', '克罗甲', '罗甲', '罗乙1', '卢森甲', '立甲', '拉脱甲', '马耳甲', '摩尔多联', '马其甲', '挪超', '挪甲', '葡超', '葡甲', '瑞士超', '瑞士甲', '瑞典超', '瑞典甲', '斯洛文甲', '塞浦甲', '斯伐超', '塞甲联', '苏超', '苏冠', '苏甲', '苏乙', '土超', '土甲', '乌超', '乌克甲', '威超联', '匈甲', '希腊超', '希腊甲', '亚美联', '以超', '以甲', '阿甲', '阿乙', '巴拉联', '巴甲', '巴圣锦', '里洲赛', '巴乙', '巴高联', '巴卡德联', '巴米联', '玻甲联', '秘鲁甲', '厄甲', '哥甲', '哥斯甲', '墨西联', '墨西乙', '美职联', '北美联', '乌拉超', '委超', '智甲', '智乙', '阿联超', '阿联甲', '澳超', '澳维超', '澳西夜赛', '澳昆超', '澳布超', '澳南超', '澳威超', '澳维甲', '澳南甲', '澳塔超', '澳首超', '澳西超', '澳女联', '澳维青', '阿曼联', '巴林超', '巴林乙', 'K1联赛', '韩联盟', 'K2联赛', 'K3联赛', '韩女联', '卡塔联', '科威联', '黎巴联', '黎精英杯', '缅甸联', '马来超', '马来甲', '日职', '日职乙', '日丙', '日足联', '日女甲', '日女乙', '沙特联', '沙特甲', '沙特乙', '泰超', '泰甲', '乌兹超', '乌兹甲', '新加联', '约旦超', '印尼超', '越南联', '越南甲', '伊拉联', '印度超', '印度甲', '也门甲', '伊朗超', '伊朗甲', '中甲', '中超', '中乙', '中女超', '香港超', '香港甲', '澳门甲', '南非超', '摩洛超', '突尼斯甲', '埃及甲', '阿尔及甲']

        if item['league_addr'] in ls:
            item['rule'] = response.xpath('//div[@class="lsaiguo_list_itm"]/div[@class="lsaizhi_content"]/p/text()').extract_first()
            yield item
        elif item['league_addr'] in bs:
            item['rule'] = response.xpath('//*[@class="lsaizhi_content"]/p/text()').extract_first()
            yield item
        else:
            return